Why Big Software Projects Fail: The 12 Key Questions

Mark Leighton Fisher on 2009-06-26T17:02:25

Why Big Software Projects Fail: The 12 Key Questions by Watts Humphrey clearly talks about how:

  1. Requirements management is hard; and that
  2. When those who perform the work (programmers, graphic designers, etc.) tell you that a task will take X amount of time, you need to listen to them.

Agile has become popular because finding all requirements at the beginning of a project is nearly impossible for large software projects, especially green-field projects (projects that are the first of their kind). Agile, properly executed, lets you discover requirements by using a running system as a usable prototype for the eventual finished system.

Agile also requires everyone's involvement in the scheduling, rather than having an arbitrary schedule handed down from on high -- a tactic which I think has contributed the majority of project failures (real Project Management classes will tell you just how big of a no-no is schedule imposition).

(Mr. Humphrey is worth listening to -- while he led the OS/360 development team, they met their schedule for all 19 releases he oversaw.)